package com.ynet.middleground.user.common;

import java.io.Serializable;

/**
 * 系统常量类
 *
 * @author DaiGaoLe 2019年10月14日
 */
public class SystemConstant implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    // -- 渠道：C01-小贷,C02-保理,C03-青岛易付,C04-财务信贷平台,C05-中台内管
    /**
     * C01-小贷
     */
    public static final String CHANNEL_C01 = "C01";
    /**
     * C02-保理
     */
    public static final String CHANNEL_C02 = "C02";
    /**
     * C03-青岛易付
     */
    public static final String CHANNEL_C03 = "C03";
    /**
     * C04-财务信贷平台
     */
    public static final String CHANNEL_C04 = "C04";
    /**
     * C05-中台内管
     */
    public static final String CHANNEL_C05 = "C05";

    // 00-统一社会信用代码,01-组织机构代码证,02-营业执照,03-税务登记证,04-身份证,
    // 05-护照，06-香港通行证，07-澳门通行证，08-台湾居民来往大陆通行证;
    /**
     * 00-统一社会信用代码
     */
    public static final String PAPERS_TYPE_00 = "00";
    /**
     * 01-组织机构代码证
     */
    public static final String PAPERS_TYPE_01 = "01";
    /**
     * 02-营业执照
     */
    public static final String PAPERS_TYPE_02 = "02";
    /**
     * 03-税务登记证
     */
    public static final String PAPERS_TYPE_03 = "03";
    /**
     * 04-居民身份证
     */
    public static final String PAPERS_TYPE_04 = "04";
    /**
     * 05-护照
     */
    public static final String PAPERS_TYPE_05 = "05";
    /**
     * 06-香港通行证
     */
    public static final String PAPERS_TYPE_06 = "06";
    /**
     * 07-澳门通行证
     */
    public static final String PAPERS_TYPE_07 = "07";
    /**
     * 08-台湾居民来往大陆通行证
     */
    public static final String PAPERS_TYPE_08 = "08";

    /* 用户信息基础 ur_user_base_information begin */
    /**
     * 用户信息基础主表用户状态-用户注册成功(游客状态)
     */
    public static final String USER_STATE_0 = "0";

    /**
     * 用户信息基础主表用户状态-用户正常状态，通过了用户认证流程
     */
    public static final String USER_STATE_6 = "6";

    /**
     * 用户信息基础主表用户 状态-加锁
     */
    public static final String USER_STATE_7 = "7";

    /* 用户信息基础 ur_user_base_information begin */

    // 用户类型,0-企业用户，1-港内员工用户，2-个人用户，3-企业员工用户
    /**
     * 0-企业用户
     */
    public static final String USER_TYPE_0 = "0";
    /**
     * 1-港内员工用户
     */
    public static final String USER_TYPE_1 = "1";
    /**
     * 2-个人用户
     */
    public static final String USER_TYPE_2 = "2";
    /**
     * 3-企业员工用户
     */
    public static final String USER_TYPE_3 = "3";
    /**
     * 4-组织机构
     */
    public static final String USER_TYPE_4 = "4";
    /**
     * 5-部门
     */
    public static final String USER_TYPE_5 = "5";
    /**
     * 6-业态
     */
    public static final String USER_TYPE_6 = "6";

    /* 系统提示码 begin */
    /**
     * ERROR_CODE_0000 成功提示码
     */
    public static final String ERROR_CODE_0000 = "000000";

    /**
     * ERROR_MSG_SUCCESS 成功
     */
    public static final String ERROR_MSG_SUCCESS = "成功";

    /**
     * ERROR_MSG_SUCCESS success
     */
    public static final String SYSTEM_SUCCESS = "success";
    /* 系统提示码 end */

    /* ur_invitee_information beign */
    /**
     * 状态,0-生效,1-失效
     */
    public static final String UR_INVITEE_INFORMATION_STATE_0 = "0";
    /**
     * 状态,0-生效,1-失效
     */
    public static final String UR_INVITEE_INFORMATION_STATE_1 = "1";
    /* ur_invitee_information end */

    /* 日期格式  begin */
    public static final String DATE_PATTERN = "yyyy-MM-dd";
    public static final String YEAR_MONTH_PATTERN = "yyyyMM";
    public static final String FULLTIME_PATTERN = "yyyy-MM-dd.HH.mm.ss.SSS";
    public static final String DATE_NUMBER_PATTERN = "yyyyMMdd";
    public static final String TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
    public static final String FULL_DATE_NUMBER = "yyyyMMddHHmmss";
    public static final String FULL_TIME = "yyyy-MM-dd-HH.mm.ss.SSSSSS";
    /* 日期格式  end */

    public static final String CHARSET_GBK = "GBK";
    public static final String CHARSET_UTF_8 = "UTF-8";

    public static final String FRAMEWORK_NAME = "ifp";

    /* sys_system_parameters */

    /**
     * @Description: 系统参数code
     * @Author: DaiGaoLe
     * @Date: 2019/10/20
     */
    public static final String SYSTEM_PARAMETERS_CODE = "code";

    /**
     * @Description: 系统参数name
     * @Author: DaiGaoLe
     * @Date: 2019/10/20
     */
    public static final String SYSTEM_PARAMETERS_NAME = "name";

    /**
     * @Description: 系统参数
     * @Author: DaiGaoLe
     * @Date: 2019/10/20
     */
    public static final String SYSTEM_PARAMETERS_CODE_0000000001 = "0000000001";

    /**
     * @Description: 系统默认密码
     * @Author: DaiGaoLe
     * @Date: 2019/10/20
     */
    public static final String SYSTEM_PARAMETERS_CODE_0000000002 = "0000000002";

    /**
     * @Description: 是否是注册制渠道
     * @Author: DaiGaoLe
     * @Date: 2019/10/20
     */
    public static final String SYSTEM_PARAMETERS_CODE_0000000004 = "0000000004";

    /**
     * @Description: 用户类型有效性集合
     * @Author: DaiGaoLe
     * @Date: 2019/10/20
     */
    public static final String SYSTEM_PARAMETERS_NAME_0000000004 = "isRegisteredChannel";

    /**
     * @Description: 系统默认密码
     * @Author: DaiGaoLe
     * @Date: 2019/10/20
     */
    public static final String SYSTEM_PARAMETERS_NAME_0000000002 = "defaultPassword";

    /**
     * @Description: 用户类型有效性集合
     * @Author: DaiGaoLe
     * @Date: 2019/10/20
     */
    public static final String SYSTEM_PARAMETERS_CODE_0000000003 = "0000000003";

    /**
     * @Description: 用户类型有效性集合
     * @Author: DaiGaoLe
     * @Date: 2019/10/20
     */
    public static final String SYSTEM_PARAMETERS_NAME_0000000003 = "userTypeList";
    /* sys_system_parameters */

    /* gender begin */
    /**
     * 未知的性别
     */
    public static final String GENDER_1 = "1";
    /**
     * 男性
     */
    public static final String GENDER_2 = "2";
    /**
     * 女性
     */
    public static final String GENDER_3 = "3";
    /**
     * 未说明的性别
     */
    public static final String GENDER_9 = "9";
    /* gender begin */

    /* maritalStatus begin */
    /**
     * 已婚
     */
    public static final String MARITAL_STATUS_0 = "0";
    /**
     * 未婚
     */
    public static final String MARITAL_STATUS_1 = "1";
    /* maritalStatus end */

    public static final String PW_PATTERN =
        "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$";

    public static final String TELEPHONE_FORMAT_ERROR = "手机号格式不正确";

    public static final String EMAIL_FORMAT_ERROR = "邮箱号格式不正确";

    /* 操作类型(1-加锁，0-解锁) begin */
    /**
     * 0 - 解锁
     */
    public static final String OPERATION_TYPE_0 = "0";

    /**
     * 1 - 加锁
     */
    public static final String OPERATION_TYPE_1 = "1";

    /**
     * 0 - 未锁定
     */
    public static final String UNLOCK_STATE_0 = "0";

    /**
     * 1 - 锁定
     */
    public static final String UNLOCK_STATE_1 = "1";
    /* 操作类型(加锁，解锁) end */

    /* 操作类型(0-重置密码，1-修改密码) begin */
    /**
     * 0 - 重置密码
     */
    public static final String UPM_OPERATION_TYPE_0 = "0";

    /**
     * 1 - 修改密码
     */
    public static final String UPM_OPERATION_TYPE_1 = "1";
    /* 操作类型(0-重置密码，1-修改密码) end */

    /* 登录验密操作类型 0 - 密码登录,1 - 手机号登录,2 - 员工工号登录,3 - 手机号密码登录  begin */
    /**
     * 0 - 密码登录
     */
    public static final String LOGIN_VERIFICATION_TYPE_0 = "0";
    /**
     * 1 - 手机号登录
     */
    public static final String LOGIN_VERIFICATION_TYPE_1 = "1";
    /**
     * 2 - 员工工号登录
     */
    public static final String LOGIN_VERIFICATION_TYPE_2 = "2";
    /**
     * 3 - 手机号密码登录
     */
    public static final String LOGIN_VERIFICATION_TYPE_3 = "3";
    /* 登录验密操作类型 0 - 密码登录,1 - 手机号登录,2 - 员工工号登录 end */

    /* 系统标识 begin */
    /**
     * 0-可用，1-不可用
     */
    public static final String SYSTEOM_FLAG_0 = "0";

    /**
     * 0-可用，1-不可用
     */
    public static final String SYSTEOM_FLAG_1 = "1";
    /* 系统标识 end */

    /* ur_organizational_structure begin */

    /**
     * 机构类型:0-机构
     */
    public static final String ORGANIZATIONAL_STRUCTURE_TYPE_0 = "0";

    /**
     * 机构类型:1-部门'
     */
    public static final String ORGANIZATIONAL_STRUCTURE_TYPE_1 = "1";

    /**
     * 机构类型:2-业态'
     */
    public static final String ORGANIZATIONAL_STRUCTURE_TYPE_2 = "2";
    /* ur_organizational_structure end */

    /**
     * 机构/部门默认父类id
     */
    public static final Integer ORGANIZATIONAL_PARENT_ID = 0;

    /* 员工机构、部门、角色关系维护 类型 begin */
    // 0 - 添加, 1 - 删除
    /**
     * 添加
     */
    public static final String ORGAN_ROLE_RELATIONSHIP_TYPE_0 = "0";

    /**
     * 删除
     */
    public static final String ORGAN_ROLE_RELATIONSHIP_TYPE_1 = "1";

    /* 机构、部门、角色维护 类型 begin */
    // 0 - 修改, 1 - 删除
    /**
     * 修改
     */
    public static final String ORGAN_OPERATION_TYPE_0 = "0";

    /**
     * 删除
     */
    public static final String ORGAN_OPERATION_TYPE_1 = "1";

    /* 用户删除 类型 begin */
    // 0 - 正常, 1 - 删除
    /**
     * 正常
     */
    public static final String IS_DELETE_0 = "0";

    /**
     * 删除
     */
    public static final String IS_DELETE_1 = "1";
    /* 员工机构、部门、角色关系维护 类型 end */

    /**
     * 手机号长度
     */
    public static final int PHONE_NUMBER_LENGTH = 11;

    /* E签宝 begin */
    public static final String ESIGN_APP_ID = "appId";
    public static final String ESIGN_SECRET = "secret";
    public static final String ESIGN_GRANT_TYPE = "grantType";

    /* E签宝 end */

    /* 主数据系统 begin */
    // 查询客户信息
    public static final String MASTER_DATA_SYSTEM_TYPE_CUSTOMER = "01";
    // 供应商信息查询供应商信息查询
    public static final String MASTER_DATA_SYSTEM_TYPE_SUPPLIER = "02";
    /* 主数据系统 end */

    /* 民族 begin */
    public static final String NATION_01 = "汉族";
    public static final String NATION_02 = "蒙古族";
    public static final String NATION_03 = "回族";
    public static final String NATION_04 = "藏族";
    public static final String NATION_05 = "维吾尔";
    public static final String NATION_06 = "苗族";
    public static final String NATION_07 = "彝族";
    public static final String NATION_08 = "壮族";
    public static final String NATION_09 = "布依族";
    public static final String NATION_10 = "朝鲜族";
    public static final String NATION_11 = "满族";
    public static final String NATION_12 = "侗族";
    public static final String NATION_13 = "瑶族";
    public static final String NATION_14 = "白族";
    public static final String NATION_15 = "土家族";
    public static final String NATION_16 = "哈尼族";
    public static final String NATION_17 = "哈萨克";
    public static final String NATION_18 = "傣族";
    public static final String NATION_19 = "黎族";
    public static final String NATION_20 = "傈僳族";
    public static final String NATION_21 = "佤族";
    public static final String NATION_22 = "畲族";
    public static final String NATION_23 = "高山族";
    public static final String NATION_24 = "拉祜族";
    public static final String NATION_25 = "水族";
    public static final String NATION_26 = "东乡族";
    public static final String NATION_27 = "纳西族";
    public static final String NATION_28 = "景颇族";
    public static final String NATION_29 = "柯尔克";
    public static final String NATION_30 = "土族";
    public static final String NATION_31 = "达斡尔";
    public static final String NATION_32 = "仫佬族";
    public static final String NATION_33 = "羌族";
    public static final String NATION_34 = "布朗族";
    public static final String NATION_35 = "撒拉族";
    public static final String NATION_36 = "毛难族";
    public static final String NATION_37 = "仡佬族";
    public static final String NATION_38 = "锡伯族";
    public static final String NATION_39 = "阿昌族";
    public static final String NATION_40 = "普米族";
    public static final String NATION_41 = "塔吉克";
    public static final String NATION_42 = "怒族";
    public static final String NATION_43 = "乌孜别";
    public static final String NATION_44 = "俄罗斯";
    public static final String NATION_45 = "鄂温克";
    public static final String NATION_46 = "崩龙族";
    public static final String NATION_47 = "保安族";
    public static final String NATION_48 = "裕固族";
    public static final String NATION_49 = "京族";
    public static final String NATION_50 = "塔塔尔";
    public static final String NATION_51 = "独龙族";
    public static final String NATION_52 = "鄂伦春";
    public static final String NATION_53 = "赫哲族";
    public static final String NATION_54 = "门巴族";
    public static final String NATION_55 = "珞巴族";
    public static final String NATION_56 = "基诺族";
    public static final String NATION_57 = "其他";
    /* 民族 end */

    /*CFCA服务交易码 begin*/
    /**
     * 证书申请并下载
     */
    public static final String TX_CODE_1101 = "1101";

    /**
     * 证书更新并下载
     */
    public static final String TX_CODE_1201 = "1201";

    /**
     * 制证
     */
    public static final String TX_CODE_2401 = "2401";

    /**
     * 证书冻结
     */
    public static final String TX_CODE_2501 = "2501";

    /**
     * 证书解冻
     */
    public static final String TX_CODE_2601 = "2601";

    /**
     * 证书更新
     */
    public static final String TX_CODE_2701 = "2701";

    /**
     * 证书补发
     */
    public static final String TX_CODE_2702 = "2702";

    /**
     * 证书换发
     */
    public static final String TX_CODE_2703 = "2703";

    /**
     * 证书吊销
     */
    public static final String TX_CODE_2901 = "2901";

    /**
     * 证书查询
     */
    public static final String TX_CODE_7101 = "7101";
    /*CFCA服务交易码 end*/

    /*CFCA证书状态码 begin*/
    /**
     * 未下载
     */
    public static final String CERT_STATUS_3 = "3";

    /**
     * 激活
     */
    public static final String CERT_STATUS_4 = "4";

    /**
     * 冻结
     */
    public static final String CERT_STATUS_5 = "5";

    /**
     * 吊销
     */
    public static final String CERT_STATUS_6 = "6";
    /*CFCA证书状态码 end*/

    /* add by DaiGaoLe 黑名单业务 begin */
    // 状态:0-有效,1-作废
    /*
    * 0-有效
    * */
    public static final String BLACK_LIST_STATUS_0 = "0";
    /*
     * 1-作废
     * */
    public static final String BLACK_LIST_STATUS_1 = "1";
    /* add by DaiGaoLe 黑名单业务 end */

    /*CFCA证件类型码 begin*/
    /**
     * 居民身份证
     */
    public static final String CFCA_PAPERS_TYPE_0 = "0";

    /**
     * 护照
     */
    public static final String CFCA_PAPERS_TYPE_1 = "1";

    /**
     * 军人身份证
     */
    public static final String CFCA_PAPERS_TYPE_2 = "2";

    /**
     * 工商登记证
     */
    public static final String CFCA_PAPERS_TYPE_3 = "3";

    /**
     * 税务登记证
     */
    public static final String CFCA_PAPERS_TYPE_4 = "4";

    /**
     * 股东代码证
     */
    public static final String CFCA_PAPERS_TYPE_5 = "5";

    /**
     * 社会保障卡
     */
    public static final String CFCA_PAPERS_TYPE_6 = "6";

    /**
     * 组织机构代码证
     */
    public static final String CFCA_PAPERS_TYPE_7 = "7";

    /**
     * 企业营业执照
     */
    public static final String CFCA_PAPERS_TYPE_8 = "8";

    /**
     * 法人代码证
     */
    public static final String CFCA_PAPERS_TYPE_9 = "9";

    /**
     * 武装警察身份证件
     */
    public static final String CFCA_PAPERS_TYPE_A = "A";

    /**
     * 港澳居民往来内地通行证
     */
    public static final String CFCA_PAPERS_TYPE_B = "B";

    /**
     * 台湾居民来往大陆通行证
     */
    public static final String CFCA_PAPERS_TYPE_C = "C";

    /**
     * 户口簿
     */
    public static final String CFCA_PAPERS_TYPE_E = "E";

    /**
     * 临时居民身份证
     */
    public static final String CFCA_PAPERS_TYPE_F = "F";

    /**
     * 警察(警官)证
     */
    public static final String CFCA_PAPERS_TYPE_G = "G";

    /**
     * 事业单位法人证书
     */
    public static final String CFCA_PAPERS_TYPE_H = "H";

    /**
     * 社会团体登记证书
     */
    public static final String CFCA_PAPERS_TYPE_J = "J";

    /**
     * 民办非企业登记证书
     */
    public static final String CFCA_PAPERS_TYPE_K = "K";

    /**
     * 外国(地区)企业常驻代表机构登记证
     */
    public static final String CFCA_PAPERS_TYPE_L = "L";

    /**
     * 政府批文
     */
    public static final String CFCA_PAPERS_TYPE_M = "M";

    /**
     * 统一社会信用代码证
     */
    public static final String CFCA_PAPERS_TYPE_N = "N";

    /**
     * 外国人永久居留证
     */
    public static final String CFCA_PAPERS_TYPE_P = "P";

    /**
     * 其他
     */
    public static final String CFCA_PAPERS_TYPE_Z = "Z";
    /*CFCA证件类型码 end*/

    /* add by Songyf 邀请码类型 begin */
    // 邀请码类型 0-静态 1-动态
    /*
    * 0-静态
    * */
    public static final String INVITE_CODE_TYPE_0 = "0";
    /*
     * 1-动态
     * */
    public static final String INVITE_CODE_TYPE_1 = "1";

    /**
     * 港内员工删除状态：0 正常
     */
    public static final String DELETE_FLAG_0 = "0";
    /**
     * 港内员工删除状态：1 被删除
     */
    public static final String DELETE_FLAG_1 = "1";

    /**
     * 登录状态：0 成功
     */
    public static final String LOGIN_SUCCESS_STATUS = "0";
    /**
     * 登录状态：1 失败
     */
    public static final String LOGIN_FAIL_STATUS = "1";

    /**
     * E签宝证书操作类型：00：创建E签宝企业账户，
     */
    public static final String ESIGN_OPERATION_00 = "00";

    /**
     * E签宝证书操作类型：01：创建E签宝个人账户，
     */
    public static final String ESIGN_OPERATION_01 = "01";

    /**
     * E签宝证书操作类型：02：更新E签宝企业账户，
     */
    public static final String ESIGN_OPERATION_02 = "02";

    /**
     * E签宝证书操作类型：03：更新E签宝个人账户，
     */
    public static final String ESIGN_OPERATION_03 = "03";

    /**
     * E签宝证书操作类型：04：注销，
     */
    public static final String ESIGN_OPERATION_04 = "04";

    /**
     * E签宝证书操作类型：05：查询，
     */
    public static final String ESIGN_OPERATION_05 = "05";

    /**
     * E签宝证书操作类型：06：根据证件号获取账户信息，
     */
    public static final String ESIGN_OPERATION_06 = "06";

    /**
     * E签宝证书操作类型：07：查询打款银行信息，
     */
    public static final String ESIGN_OPERATION_07 = "07";

    /**
     * E签宝证书操作类型：08：查询认证信息，
     */
    public static final String ESIGN_OPERATION_08 = "08";

    /**
     * E签宝证书操作类型：09：发起运营商3要素核身认证，
     */
    public static final String ESIGN_OPERATION_09 = "09";

    /**
     * E签宝证书操作类型：10：个人银行卡4要素信息比对，
     */
    public static final String ESIGN_OPERATION_10 = "10";

    /**
     * E签宝证书操作类型：11：发起随机金额打款认证，
     */
    public static final String ESIGN_OPERATION_11 = "11";

    /**
     * E签宝证书操作类型：12：随机打款金额校验，
     */
    public static final String ESIGN_OPERATION_12 = "12";

    /**
     * E签宝证书操作类型：13：发起银行卡4要素核身认证，
     */
    public static final String ESIGN_OPERATION_13 = "13";

    /**
     * E签宝证书操作类型：14：企业4要素信息比对，
     */
    public static final String ESIGN_OPERATION_14 = "14";

    /**
     * E签宝证书操作类型：15：个人运营商3要素信息比对，
     */
    public static final String ESIGN_OPERATION_15 = "15";

    /**
     * E签宝证书操作类型：16：发起企业实名认证4要素校验，
     */
    public static final String ESIGN_OPERATION_16 = "16";

    /**
     * E签宝证书操作类型：17：银行预留手机号验证码校验，
     */
    public static final String ESIGN_OPERATION_17 = "17";

    /**
     * E签宝证书操作类型：18：手机号验证码校验
     */
    public static final String ESIGN_OPERATION_18 = "18";

    /**
     * E签宝操作类型：19：个人 2 要素信息比对
     */
    public static final String ESIGN_OPERATION_19 = "19";

    /**
     * E签宝操作类型：20：企业 2 要素信息比对
     */
    public static final String ESIGN_OPERATION_20 = "20";

    /**
     * E签宝操作类型：21 【人脸识别认证】个人核身 API 版
     */
    public static final String ESIGN_OPERATION_21 = "21";

    /**
     * E签宝账户类型：0 企业
     */
    public static final String ESIGN_USER_TYPE_ORGANIZE = "0";

    /**
     * E签宝账户类型：1 个人
     */
    public static final String ESIGN_USER_TYPE_PERSON = "1";

    /**
     * cfca证书操作类型：00申请并下载
     */
    public static final String CFCA_OPERATION_CREATE = "00";

    /**
     * cfca证书操作类型：01吊销
     */
    public static final String CFCA_OPERATION_CANCEL = "01";

    /**
     * cfca证书操作类型：02冻结
     */
    public static final String CFCA_OPERATION_FREEZE = "02";

    /**
     * cfca证书操作类型：03解冻
     */
    public static final String CFCA_OPERATION_UNFREEZE = "03";

    /**
     * cfca证书操作类型：04换发
     */
    public static final String CFCA_OPERATION_RENEWAL = "04";

    /**
     * cfca证书操作类型：05补发
     */
    public static final String CFCA_OPERATION_REISSUE = "05";

    /**
     * cfca证书操作类型：06制证
     */
    public static final String CFCA_OPERATION_DOWNLOAD = "06";

    /**
     * cfca证书操作类型：07更新
     */
    public static final String CFCA_OPERATION_UPDATE = "07";

    /**
     * cfca证书操作类型：08更新并下载
     */
    public static final String CFCA_OPERATION_UPDATE_DOWNLOAD = "08";

    /**
     * cfca证书操作类型：09查询
     */
    public static final String CFCA_OPERATION_QUERY = "09";

    /**
     * 接口调用状态：0 成功
     */
    public static final String INVOKING_SUCCESS_STATUS = "0";
    /**
     * 接口调用状态：1 失败
     */
    public static final String INVOKING_FAIL_STATUS = "1";

}
